# Package types
Table of contents:
# Packages and the package types
Packagaya manages two types of packages:
- Apps (Applications)
- Libs (Libraries / Frameworks)
# Apps (Applications)
Applications are programs which can be executed by a CLI.
For example:
- Webserver
- custom scripts
- CLI programs
ATTENTION
Applications should never link to another Application!
You should use a library if you want to share informations between these packages!
# Libs (Libraries / Frameworks)
Libraries are packages which contain reusable definitions for applications and other libraries.
For example:
- Entities
- Dependency Injection definitions
- Database connection creation
Libraries can always link to another library!
WARNING
You need to be aware of circular dependencies! Create another library if you have this situation!